package com.chen10.gobang.service;

import com.chen10.gobang.model.dto.ForgetPwdDTO;
import com.chen10.gobang.model.dto.UpdateUsernameDTO;
import com.chen10.gobang.model.dto.UserRankingPageDTO;
import com.chen10.gobang.model.page.Pager;
import com.chen10.gobang.model.vo.UserInfoVO;
import com.chen10.gobang.model.vo.UserRankingVO;
import com.chen10.gobang.model.vo.UserSearchVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface UserService {
    /**
     * 修改密码
     * @param forgetPwdDTO
     */
    void updatePassword(ForgetPwdDTO forgetPwdDTO);

    /**
     * 搜索用户
     * @param param 可能是email也可能是username
     * @return
     */
    List<UserSearchVO> getUsers(String param);

    /**
     * 获取用户信息
     * @return
     */
    UserInfoVO getUserInfo();

    /**
     * 更新用户名
     */
    void updateUsername(UpdateUsernameDTO updateUsernameDTO);

    /**
     * 更新头像
     * @param file
     * @param file
     */
    String updateAvatar(MultipartFile file);

    /**
     * 获取排行榜
     * @return
     */
    Pager<UserRankingVO> getRankingPage(UserRankingPageDTO pageDTO);
}
